RAIS  3.2
C:/Projekte/RAIS/Specific Masks/SelectEvent.aspx.cs
Go to the documentation of this file.
00001 
00029 using System;
00030 using System.Collections;
00031 using System.Collections.Generic;
00032 using System.Configuration;
00033 using System.Data;
00034 using System.Linq;
00035 using System.Web;
00036 using System.Text;
00037 using System.IO;
00038 using System.Web.Security;
00039 using System.Web.UI;
00040 using System.Web.UI.HtmlControls;
00041 using System.Web.UI.WebControls;
00042 using System.Web.UI.WebControls.WebParts;
00043 using System.Xml.Linq;
00044 using RAIS.Common.UserManagement;
00045 using RAIS.Common;
00046 using RAIS.Common.RADEVClasses;
00047 
00048 using RAIS.ApplicationLogicLayer;
00049 
00050 namespace RAIS.UI.SpecificMasks
00051 {
00055     public partial class SelectEvent : System.Web.UI.Page
00056     {
00057         #region Properties
00058 
00061         protected UserData CurrentUser
00062         {
00063             get { return (UserData)this.Session[UI.Common.Constants.CURRENT_USER_TAG]; }
00064         }
00065         #endregion
00066 
00067         #region Event handlers
00068         protected void Page_PreLoad(object sender, EventArgs e)
00069         {
00070             RAIS.UI.Common.PageManagement.TrimTextBoxValues(this);
00071         }
00078         protected void Page_Load(object sender, EventArgs e)
00079         {           
00080             this.Response.Cache.SetNoStore();
00081             if (this.CurrentUser == null)
00082                 UI.Common.AccessManagement.SignOut(this);
00083             InitControls();
00084 
00085             if (Session[UI.Common.Constants.SELECTED_CATEGORY_TAG] != null)
00086                 Session["SELECTED CATEGORY TAG Backup"] = Session[UI.Common.Constants.SELECTED_CATEGORY_TAG];
00087             else
00088                 Session[UI.Common.Constants.SELECTED_CATEGORY_TAG] = Session["SELECTED CATEGORY TAG Backup"];
00089 
00090             if (((string)Session[UI.Common.Constants.SELECTED_CATEGORY_TAG]) == "Query")
00091                 LBLquery.ForeColor = RAIS.UI.Common.Constants.COLOR_OF_MENU_BAR_TEXT_HIGHLIGHT;
00092             if (((string)Session[UI.Common.Constants.SELECTED_CATEGORY_TAG]) == "Statistics")
00093                 LBLstats.ForeColor = RAIS.UI.Common.Constants.COLOR_OF_MENU_BAR_TEXT_HIGHLIGHT;
00094 
00095             UI.Common.PageManagement.InitializePage(this, this.TreeView1);
00096             if (!this.IsPostBack)
00097             {
00098                 this.LBLusernameNoTranslation.Text = this.CurrentUser.Name;
00099                 DDLCriteria_SelectedIndexChanged(sender, e);
00100                                 UI.Common.PageManagement.InitializePage(this, this.TreeView1);
00101                                 this.LBLquery.ForeColor = RAIS.UI.Common.Constants.COLOR_OF_MENU_BAR_TEXT_HIGHLIGHT;
00102 //                              this.LBTNmessagebox.Visible = !(this.CurrentUser.FunctionalRole.Type == FunctionRole.FunctionRoleType.Guest);                
00103             }
00104             UI.Common.PageManagement.InitHelpMainMenu(LBTNdefault);
00105         }
00112         protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
00113         {
00114             UI.Common.UserManagement.ProcessTreeViewOnRedirect(this.TreeView1);
00115         }
00122         protected void LBTNlogout_Click(object sender, EventArgs e)
00123         {
00124             UI.Common.AccessManagement.SignOut(this);
00125         }
00126 
00127 
00128         protected void btnAply_Click(object sender, EventArgs e)
00129         {
00130             RADEVCriterias criteria = new RADEVCriterias();
00131 
00132             SetCriteria(criteria, Request.Form["rbtlCriterias"]);
00133 
00134             if (((Button)sender).ID == "btnExport")
00135             {
00136                 criteria.Type = ReportType.OneLine;
00137                 Response.Clear();
00138                 Response.ContentType = "text/plain";
00139                 Response.AddHeader("Content-Disposition", "attachment;filename=RADEVReport_" + DateTime.Today.ToString("dd-MM-yyyy") + ".csv");
00140                 WriteCSVToResponce(criteria);
00141                 Response.End();
00142             }
00143             else
00144             {
00145                 SetReportType(criteria, Request.Form["rblReportType"]);
00146 
00147                 Session["RADEV_CRITERIAS"] = criteria;
00148 
00149                 Response.Redirect("RADEVReport.aspx");
00150             }
00151         }
00152         #endregion
00153         private void WriteCSVToResponce(RADEVCriterias criteria)
00154         {
00155             StringBuilder sb = new System.Text.StringBuilder();
00156             StringWriter sw = new StringWriter(sb);
00157             Response.Write("Event ID");
00158             Response.Write(";");
00159             Response.Write("Date");
00160             Response.Write(";");
00161             Response.Write("Use sector (Practice)");
00162             Response.Write(";");
00163             Response.Write("Contact organization");
00164             Response.Write(";");
00165             Response.Write("Report status");
00166             Response.Write(";");
00167 
00168             Response.Write("\n");
00169             Response.Write("\n");
00170 
00171             foreach (RADEVTable RADEV in ReportManagement.GetRADEVLineList(ConfigurationManager.AppSettings["RADEVProvider"].ToLower(), criteria))
00172             {
00173                 EventMaster ev = (EventMaster)RADEV;
00174                 Response.Write(ev.IAEAEventID);
00175                 Response.Write(";");
00176                 Response.Write(ev.EventDate);
00177                 Response.Write(";");
00178                 Response.Write(ev.GeneralUseSector);
00179                 Response.Write(";");
00180                 Response.Write(ev.ContactOrganization);
00181                 Response.Write(";");
00182                 Response.Write(ev.ContactCrossRef);
00183                 Response.Write(";");
00184                 Response.Write("\n");
00185             }
00186         }
00187         private void InitControls()
00188         {
00189             List<RADEVTable> list = RADEVTable.CreateTable(ConfigurationManager.AppSettings["RADEVProvider"].ToLower(), "EventMaster").GetData();
00190             List<string> IAEAEventID = new List<string>();
00191             List<string> InstallationName = new List<string>();
00192             List<string> SpecificPracticeRpt = new List<string>();
00193             List<string> ContactOrganization = new List<string>();
00194             List<string> IAEARegion = new List<string>();
00195             List<string> Facility = new List<string>();
00196 
00197             foreach (RADEVTable tab in list)
00198             {
00199                 EventMaster evntTab = tab as EventMaster;
00200                 if (!IAEAEventID.Contains(evntTab.IAEAEventID) && evntTab.IAEAEventID!="")
00201                     IAEAEventID.Add(evntTab.IAEAEventID);
00202 
00203                 /*if (!InstallationName.Contains(evntTab.InstallationName) && evntTab.InstallationName != "")
00204                     InstallationName.Add(evntTab.InstallationName);
00205                 */
00206                                 //if (!SpecificPracticeRpt.Contains(evntTab.SpecificPractice) && evntTab.SpecificPractice != "")
00207                                 //    SpecificPracticeRpt.Add(evntTab.SpecificPractice);
00208                                 foreach (string specificPractice in evntTab.GenaralUseSectors)
00209                                         if (!SpecificPracticeRpt.Contains(specificPractice) && specificPractice != "")
00210                                                 SpecificPracticeRpt.Add(specificPractice);
00211 
00212                 if (!ContactOrganization.Contains(evntTab.ContactOrganization) && evntTab.ContactOrganization != "")
00213                     ContactOrganization.Add(evntTab.ContactOrganization);
00214 
00215                 if (!IAEARegion.Contains(evntTab.Region) && evntTab.Region != "")
00216                     IAEARegion.Add(evntTab.Region);
00217 
00218                 if(!Facility.Contains(evntTab.Facility) && evntTab.Facility!="")
00219                     Facility.Add(evntTab.Facility);
00220             }
00221             ddlfromEventID.DataSource = IAEAEventID;
00222             ddltoEventID.DataSource = IAEAEventID;
00223 //            ddlInstallationName.DataSource = InstallationName;
00224             ddlspecificPractice.DataSource = SpecificPracticeRpt;
00225             ddlContactOrganization.DataSource = ContactOrganization;
00226             //ddlIAEARegion.DataSource = IAEARegion;
00227             ddlFacility.DataSource = Facility;
00228             ddlFacility.DataBind();
00229             ddlfromEventID.DataBind();
00230             ddltoEventID.DataBind();
00231             //ddlInstallationName.DataBind();
00232             ddlspecificPractice.DataBind();
00233             ddlContactOrganization.DataBind();
00234             //ddlIAEARegion.DataBind();
00235         }
00236 
00237         private void SetCriteria(RADEVCriterias criteria, string name)
00238         {
00239             switch (DDLCriteria.SelectedIndex)
00240             {
00241                 case 0:
00242                     DateTime from;
00243                     DateTime to;
00244                     if (DateTime.TryParse(tbstartDate.Text, out from) && DateTime.TryParse(tbendDate.Text, out to))
00245                     {
00246                         criteria.StartDate = from;
00247                         criteria.EndDate = to;
00248                     }
00249                     break;
00250                 case 1:
00251                     criteria.FromEvetnID = Request.Form["ddlfromEventID"]==null?"":Request.Form["ddlfromEventID"];
00252                     criteria.ToEvetnID = Request.Form["ddltoEventID"] == null ? "" : Request.Form["ddltoEventID"];
00253                     break;
00254                 case 2:
00255                     criteria.AllRecords = true;
00256                     break;
00257                 case 3:
00258                     criteria.Facility = Request.Form["ddlFacility"]== null ? "" : Request.Form["ddlFacility"];
00259                     break;
00260                 case 4:
00261                     criteria.SpecificPractice = Request.Form["ddlspecificPractice"]== null ? "" : Request.Form["ddlspecificPractice"];
00262                     break;
00263                 case 5:
00264                     criteria.ContactOrganization = Request.Form["ddlContactOrganization"] == null ? "" : Request.Form["ddlContactOrganization"];
00265                     break;
00266             }
00267         }
00268 
00269         private void SetReportType(RADEVCriterias criteria , string name)
00270         {
00271             switch (name)
00272             {                
00273                 case "One Line Report":
00274                     criteria.Type = ReportType.OneLine;
00275                     break;
00276                 case "Summary Report":
00277                     criteria.Type = ReportType.Summary;
00278                     break;
00279                 case "Complete Report":
00280                     criteria.Type = ReportType.Complete;
00281                     break;
00282                 case "Export Selected Records":
00283                     criteria.Type = ReportType.Export;
00284                     break;
00285             }
00286         }
00287 
00288         protected void DDLCriteria_SelectedIndexChanged(object sender, EventArgs e)
00289         {
00290             HideAllCriterias();
00291             switch (DDLCriteria.SelectedIndex)
00292             { 
00293                 case 0:
00294                     trDateRange.Visible = true;
00295                     break;
00296                 case 1:
00297                     trEventID.Visible = true;
00298                     break;
00299                 case 3:
00300                     trFacility.Visible = true;
00301                     break;
00302                 case 4:
00303                     trSpecificPractice.Visible = true;
00304                     break;
00305                 case 5:
00306                     trContactOrganization.Visible = true;
00307                     break;
00308             }
00309         }
00310 
00311         private void HideAllCriterias()
00312         {
00313             trDateRange.Visible = false;
00314             trEventID.Visible = false;
00315             trFacility.Visible = false;            
00316             trSpecificPractice.Visible = false;
00317             trContactOrganization.Visible = false;
00318         }
00319     }
00320 }